package com.asiainfo.kbisheet.control
{
	import com.asiainfo.kbisheet.util.yunnan.aaaacashbox.vo.QueryAppOperJKStatusQueryParam;
	import com.asiainfo.kbisheet.vo.DimVO;
	import com.asiainfo.kbisheet.util.yunnan.aaaacashbox.vo.QueryResCmdJKStatusQueryParam;
	import com.asiainfo.kbisheet.util.yunnan.aaaacashbox.vo.QueryJKStatusByIDQueryParam;
	import com.asiainfo.kbisheet.util.yunnan.aaaacashbox.vo.CreateAppRequestQueryParam;
	import com.asiainfo.kbisheet.util.yunnan.aaaacashbox.vo.CreateResRequestQueryParam;
	import com.asiainfo.kbisheet.util.yunnan.aaaacashbox.vo.RemoteAuthQueryParam;
	import com.asiainfo.kbisheet.util.yunnan.aaaacashbox.vo.LocalAuthQueryParam;
	import com.asiainfo.kbisheet.util.yunnan.aaaacashbox.vo.AutoAuthQueryParam;
	import com.asiainfo.kbisheet.util.yunnan.aaaacashbox.vo.ReSendJKPassQueryParam;
	
	/**
	 * 完成用户信息获取的事件
	 */
	[Event(name="getUserInfoComplete", type="mx.events.Event")]
	
	/**
	 * 加载配置文件XML完成的事件
	 */
	[Event(name="loadDefineXmlComplete", type="mx.events.Event")]	
	
	/**
	 * 加载日期维表结果的事件
	 */
	[Event(name="getDateDimResult", type="com.asiainfo.kbisheet.event.GetDateDimResultEvent")]
	
	/**
	 * 加载下拉维表结果的事件
	 */
	[Event(name="getListDimResult", type="com.asiainfo.kbisheet.event.GetListDimResultEvent")]
	
	/**
	 * 获取到报表XML数据结果的事件
	 */
	[Event(name="getDataXMLComplete", type="com.asiainfo.kbisheet.event.GetDataXMLCompleteEvent")]
	
	/**
	 * 应用资源敏感操作金库状态查询接口
	 */
	[Event(name="aaaacashboxQueryAppOperJKStatusComplete", type="com.asiainfo.kbisheet.event.AaaacashboxQueryAppOperJKStatusCompleteEvent")]
	
	/**
	 * 系统资源敏感指令金库状态查询接口
	 */
	[Event(name="aaaacashboxQueryResCmdJKStatusComplete", type="com.asiainfo.kbisheet.event.AaaacashboxQueryResCmdJKStatusCompleteEvent")]
	
	/**
	 * 根据金库申请id查询金库状态接口
	 */
	[Event(name="aaaacashboxQueryJKStatusByIDComplete", type="com.asiainfo.kbisheet.event.AaaacashboxQueryJKStatusByIDCompleteEvent")]
	
	/**
	 * 应用资源敏感操作金库申请创建接口
	 */
	[Event(name="aaaacashboxCreateAppRequestComplete", type="com.asiainfo.kbisheet.event.AaaacashboxCreateAppRequestCompleteEvent")]
	
	/**
	 * 系统资源敏感指令金库申请创建接口
	 */
	[Event(name="aaaacashboxCreateResRequestComplete", type="com.asiainfo.kbisheet.event.AaaacashboxCreateResRequestCompleteEvent")]
	
	/**
	 * 远程授权认证接口
	 */
	[Event(name="aaaacashboxRemoteAuthComplete", type="com.asiainfo.kbisheet.event.AaaacashboxRemoteAuthCompleteEvent")]
	
	/**
	 * 现场授权认证接口
	 */
	[Event(name="aaaacashboxLocalAuthComplete", type="com.asiainfo.kbisheet.event.AaaacashboxLocalAuthCompleteEvent")]
	
	/**
	 * 自动授权认证接口
	 */
	[Event(name="aaaacashboxAutoAuthComplete", type="com.asiainfo.kbisheet.event.AaaacashboxAutoAuthCompleteEvent")]
	
	/**
	 * 金库口令重发接口
	 */
	[Event(name="aaaacashboxReSendJKPassComplete", type="com.asiainfo.kbisheet.event.AaaacashboxReSendJKPassCompleteEvent")]
	
	public interface IKbsControl
	{
		/**
		 * 消息监听的声明
		 */
		function addEventListener(type:String, listener:Function, useCapture:Boolean=false, priority:int=0, useWeakReference:Boolean=false):void;

		/**
		 * 获取用户信息
		 */
		function getUserInfo():void;
		
		/**
		 * 获取报表数据的XML结构
		 */
		function getDataXML():void;
		
		/**
		 * 加载模板XML
		 */
		function loadDefineXml():void;
		
		/**
		 * 加载下拉列表的维值
		 */
		function getDimList(dimVO:DimVO):void;
		
		/**
		 * 加载日期维表的维值
		 */ 
		function getDimDate(dimVO:DimVO):void;
		
		/**
		 * 创建Excel导出文档
		 */
		function createExcel(xmlString:String):void;
		/**
		 *  5.1	应用资源敏感操作金库状态查询接口
		 */
		function aaaacashboxQueryAppOperJKStatus(param:QueryAppOperJKStatusQueryParam):void;
		/**
		 *  5.2	系统资源敏感指令金库状态查询接口
		 */
		function aaaacashboxQueryResCmdJKStatus(param:QueryResCmdJKStatusQueryParam):void;
		
		/**
		 * 5.3	根据金库申请id查询金库状态接口
		 */
		function aaaacashboxQueryJKStatusByID(param:QueryJKStatusByIDQueryParam):void;
		
		/**
		 * 6.1	应用资源敏感操作金库申请创建接口
		 */
		function aaaacashboxCreateAppRequest(param:CreateAppRequestQueryParam):void;
		
		/**
		 * 6.2	系统资源敏感指令金库申请创建接口
		 */
		function aaaacashboxCreateResRequest(param:CreateResRequestQueryParam):void;
		
		/**
		 * 7.1	远程授权认证接口
		 */
		function aaaacashboxRemoteAuth(param:RemoteAuthQueryParam):void;
		
		/**
		 * 7.2	现场授权认证接口
		 */
		function aaaacashboxLocalAuth (param:LocalAuthQueryParam):void;
		
		/**
		 * 7.3	自动授权认证接口
		 */
		function aaaacashboxAutoAuth (param:AutoAuthQueryParam):void;
		
		/**
		 *8	金库口令重发接口
		 */
		function aaaacashboxReSendJKPass (param:ReSendJKPassQueryParam):void;
	}
}